var config = require("./config.js");

function login(isRepeat) {
    getUserInfo().then((data) => {
        // UserInfo.userLogin(data).then((res) => {
        //     getApp().globalData.loginInfo = res
        //     repeatLogin(); // 重复登录，获取token
        //     console.log('login: ', getApp().globalData.loginInfo);

        //     // 重复登录不再调用获取所有场景
        //     if (!isRepeat) {
        //         getGameModels(res.token);
        //         getSupportLanguage(res.token);
        //     }
        // });
    }, (err) => {
        console.log('err: ', err);
    });
}

// 获取所有场景
var getGameModels = (token) => {
    // SettingConfig.getGameModels(token)
    // .then((res) => {
    //     var allGameModel = res;
    //     getApp().globalData.allGameModel = allGameModel;
    //     sceneSetting(token, allGameModel);
    // })
}

var getSupportLanguage = (token) => {
    // SettingConfig.getSupportLanguage(token)
    //     .then((res) => {
    //         getApp().globalData.allSupportLanguage = res;
    //     })
}

// 场景设置
var sceneSetting = (token, allGameModel) => {
    // SettingConfig.getUserTrainerConfig(token)
    //     .then((res) => {
    //         var gameModel = '';

    //         for (var i = 0; i < allGameModel.length; i++) {
    //             if (allGameModel[i].code === res.gameModel) {
    //                 gameModel = allGameModel[i].value;
    //                 break;
    //             }
    //         }
    //         getApp().globalData.gameModel = gameModel;
    //         getApp().globalData.learnLanguages = res.learnLanguages;
    //         getApp().globalData.voiceStyle = res.voiceStyle;
    //     });
}


function repeatLogin() {
    var interval = 1000 * 60 * 10;
    setTimeout(() => {
        login(true);    // 【true】:重复登录标识
    }, interval);
}

function getUserInfo() {
    return new Promise((resolve, reject) => {
        wx.login({
            success: function(res) {
                var code = res.code;
                if (typeof code !== undefined) {
                    wx.getUserInfo({
                        success: function(res) {
                            var data = {
                                iv: res.iv,
                                encryptedData: res.encryptedData,
                                code: code,
                                appId: "trainer",
                                rawData: res.rawData
                            }

                            resolve(data);
                        },
                        fail: function() {
                            wx.navigateTo({
                                url: '/pages/authAndLogin/authAndLogin',
                            })
                        }
                    });
                }
            },
            fail: function(err) {
                reject(err);
            }
        })
    });
}
module.exports = {
    login,
    getUserInfo,
};